package com.haixiaoke.saas.messageCenter.domain;

import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 推送条件信息对象 biz_push_condition
 *
 * @author xiaolong
 * @date 2024-11-11
 */
@Data
public class PushCondition extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 推送条件id
     */
    private Long pushConditionId;

    /**
     * 所属机构
     */
    @Excel(name = "所属机构")
    @NotNull(message = "所属机构id不能为空")
    private String tenantId;

    /**
     * 机构名称
     */
    @Excel(name = "机构名称")
    private String tenantName;

    /**
     * 编码
     */
    @Excel(name = "编码")
    private String pushConditionCode;

    /**
     * 条件类型：内部消息：1.工单待接单通知；2.工单审核通知；3.工单超时处理通知；4.预订成功通知（日租）；5.退租审核通知；6.换房申请通知；7.续租申请通知；8.转租申请通知；9.租客合同待确认通知；10.租客合同到期通知；
     * 外部消息：101.工单已接单通知；102.工单取消通知；103.工单超时处理通知；104.预订成功通知；105.订单待支付通知；106.租客合同待确认通知；107.租客合同到期通知；
     */
    @Excel(name = "条件类型：内部消息：1.工单待接单通知；2.工单审核通知；3.工单超时处理通知；4.预订成功通知（日租）；5.退租审核通知；6.换房申请通知；7.续租申请通知；8.转租申请通知；9.租客合同待确认通知；10.租客合同到期通知；\n" +
            "外部消息：101.工单已接单通知；102.工单取消通知；103.工单超时处理通知；104.预订成功通知；105.订单待支付通知；106.租客合同待确认通知；107.租客合同到期通知；")
    @NotNull(message = "条件类型不能为空")
    private String conditionType;

    /**
     * 条件名称
     */
    @Excel(name = "条件名称")
    @NotNull(message = "条件名称不能为空")
    private String conditionName;

    /**
     * 消息类型：1.内部消息；2.外部消息
     */
    @Excel(name = "消息类型：1.内部消息；2.外部消息")
    @NotNull(message = "消息类型不能为空")
    private String messageType;

    /**
     * 状态：0.启用，1.禁用
     */
    @Excel(name = "状态：0.启用，1.禁用")
    @NotNull(message = "状态不能为空")
    private String conditionState;

    /**
     * 操作人id
     */
    @Excel(name = "操作人id")
    private Long operatorId;

}
